Manager
	var
		XML/Element/xmlRoot
		list/lstObjects = list()
		txtDefaultFile
		txtDefaultPath
		numLoaded = 0

	proc
		Initialize()
			if(txtDefaultFile)
				xmlRoot = loadXMLFile(txtDefaultFile)
				world.log<<"ROOT = [xmlRoot.Tag()]"
				for(var/XML/Element/E in xmlRoot.ChildElements())
					var/datum/object = new txtDefaultPath()
					call(object,"loadFromXmlElement")(E)
					RegisterObject(E.Attribute("name"),object)
			Log("[src] Initialized.",EVENT_STARTUP)
			numLoaded = 1

		RegisterObject(txtName, datum/d)
			lstObjects += txtName
			lstObjects[txtName] = d

		GetObject(txtObjName)
			return lstObjects[txtObjName]

		IsLoaded()
			return numLoaded


	New()
		Log("[src] Initializing...",EVENT_STARTUP)
		spawn() Initialize()